iT邦幫忙

2025 iThome 鐵人賽

DAY 18
0
生成式 AI

30 天用 Cursor 開發專案:AI 輔助程式開發實戰紀錄系列 第 18

Day 18:用 Cursor 建立 CI/CD,自動守護你的程式碼品質

  • 分享至 

  • xImage
  •  

圖片
到目前為止,我們已經用 Cursor 建好了功能、拆好了模組、甚至寫好了測試。

但當專案規模越來越大,你會發現:「手動測試、手動檢查已經不夠了。」

這時候,就是讓 自動化流程 上場的時候了。

今天,我們要用 Cursor 幫我們打造一條「程式碼品質防線」—— CI/CD


🤔 為什麼要導入 CI/CD?

想像這幾種狀況:

  • 你 push 了一段程式碼,結果別人一拉下來就 build 不起來
  • PR 合併後,整個網站就壞掉了
  • 每次部署前都要手動跑測試、手動 build,非常浪費時間

這些問題都有一個共通點:沒有人自動幫你檢查與驗證

CI/CD(持續整合 / 持續部署)能幫你解決這件事:

  • CI(Continuous Integration):每次 Push 自動跑 lint、測試、build
  • CD(Continuous Deployment):測試通過後,自動部署網站

🛠️ 用 Cursor 建立 GitHub Actions

以前要寫 CI/CD 檔案,常常要查文件、對著 YAML 慢慢拼。

但現在你只要對 Cursor 說一句話:

幫我建立一個 GitHub Actions workflow:
- 當我 push 或發 PR 時
- 自動安裝套件
- 執行 npm run lint
- 執行 npm test
- 執行 npm run build

Cursor 就會自動產生這樣的 .github/workflows/ci.yml

name: CI

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 18

      - name: Install dependencies
        run: npm install

      - name: Lint
        run: npm run lint

      - name: Test
        run: npm test

      - name: Build
        run: npm run build

✨ 不用查文件、不用記語法,Cursor 幾秒就幫你完成。


🔁 開發流程:本地 + CI 雙重防線

從今天開始,你的開發流程會變成這樣:

  1. 本地開發時
    • Cursor 協助你拆檔案、優化結構、寫測試
  2. Push 時
    • GitHub Actions 自動跑 lint、測試、build
    • 有錯誤會直接阻止 PR 合併
  3. 合併後
    • (可選)自動部署到 Vercel 或其他平台

這樣即使你不在電腦前,系統也會自己幫你檢查程式碼是否健康


🧪 Cursor 實戰:AI 自動產生 CI/CD 改進建議

Cursor 不只會幫你產生 CI/CD 檔案,它還能:

  • 🔍 分析 CI 失敗原因,幫你找出是哪一步出錯
  • ⚡ 自動修正 YAML 設定(例如 node 版本不相容)
  • 🛠️ 幫你補上缺漏的測試或 lint 指令

例如你可以直接問它:

我的 CI 一直失敗在 build 這步,幫我分析原因並提出修正建議

它就會對照 log 分析原因,甚至幫你自動修改設定檔。


🔐 最後一個習慣:CI 通過才合併

如果你在團隊中開發,這一步超級重要:

  • 在 GitHub 專案設定 → Branch protection
  • 開啟「Require status checks to pass before merging」

這樣一來,只有當 CI 綠燈 ✅ 時,才能合併程式碼。

這就像是為專案設了一道「品質大門」,任何 bug 都會被擋在門外。


✅ 今天的任務

  1. 在 Cursor 中產生一份 .github/workflows/ci.yml
  2. Push 程式碼並觀察 CI 自動執行流程。
  3. 嘗試讓測試故意失敗,看看 PR 是否會被阻擋。
  4. (選做)串接自動部署流程,讓 CI 通過後自動更新網站。

📌 Day 18 總結

今天,我們讓專案邁向了「自動化」的下一步:

  • 學會用 Cursor 快速建立 GitHub Actions
  • 把測試、lint、build 全部自動化
  • 讓 CI/CD 成為你程式碼的守門員
  • 養成「CI 綠燈才能合併」的好習慣

從這一刻起,你的專案已經不只是「寫得出來」,而是「寫得安全又可靠」。


上一篇
Day 17:自動化測試與程式碼品質保護
下一篇
Day 19:程式碼規範與自動格式化,讓團隊風格一致
系列文
30 天用 Cursor 開發專案:AI 輔助程式開發實戰紀錄22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言